#!/usr/bin/env node

import cronService from './services/cron.js';
import { logInfo } from './logger.js';

logInfo('电商自动化工具 - 定时任务调度器启动');
logInfo('=====================================');

// 启动所有定时任务
cronService.startAll();

// 监听进程退出事件，确保任务被正确清理
process.on('SIGINT', () => {
  logInfo('收到 SIGINT 信号，正在停止所有任务...');
  cronService.stopAll();
  process.exit(0);
});

process.on('SIGTERM', () => {
  logInfo('收到 SIGTERM 信号，正在停止所有任务...');
  cronService.stopAll();
  process.exit(0);
});

// 显示任务状态
logInfo('当前任务状态:');
const status = cronService.getStatus();
for (const [name, taskStatus] of Object.entries(status)) {
  logInfo(`- ${name}: ${taskStatus.running ? '运行中' : '已停止'} (cron: ${taskStatus.cron})`);
}

logInfo('定时任务调度器已启动，按 Ctrl+C 停止。');
logInfo('请不要关闭终端，否则将无法运行定时任务。');


